동적 수의 이미지에 이동 평균이 적용됩니다.

간략한 설명

파일: \examples\Processing\Loop\RollingAverage\rollingAverage_Loop.vad

기본 플랫폼: imaFlex CXP-12 쿼드

요약 설명

프레임 지연 없이 실행 중인 이미지 스트림에 이동 평균(rolling average)을 구현합니다. 마지막 N개의 흑백 이미지의 평균값을 계산하여, 현재 이미지와의 결과적인 차이를 컬러로 시각화하는 데 사용합니다. 평균값을 산출하는 데 사용되는 이미지 수는 128개로 설정되어 있지만 수정할 수 있습니다.

이 디자인은 이동 평균이 작동하는 방식을 보여줍니다. 그러나 핵심 요소는 훨씬 더 많은 애플리케이션과 머신 비전 작업을 가능하게 하는 루프(loop)입니다. 루프의 작동 방식과 구현 방법을 이해하기 위해 이 예제는 완벽한 출발점이 됩니다.

Algorithm

각 단일 픽셀의 평균값이 계산되며 8비트의 수신 값 범위로 정규화됩니다. 이를 위해 수신된 각 프레임은 이전 프레임들과 합산되고 수신된 프레임 수로 나뉩니다. 이동 평균 시퀀스의 길이에 도달하면, 저장 및 지연된 프레임을 빼서 합계를 줄입니다. 이를 통해 첫 번째 이미지부터 이미 출력 이미지가 생성됩니다.

이 디자인에서는 두 가지 조건이 이동 평균 시퀀스의 길이를 정의합니다. 두 값 모두 N_rolling이라고 하며 동일한 값으로 설정해야 합니다. 하나는 이미지 감산을 위한 지연 저장 프로세스를 처리하고, 다른 하나는 픽셀 값 정규화를 처리합니다.

Used Loop

루프 처리를 활성화하기 위해 RxImageLink 및 TxImageLink 오퍼레이터가 사용됩니다. 수신된 이미지 시퀀스의 정규화되지 않은 평균 합계는 하나의 루프에서 처리됩니다. 값의 후속 감산을 위해 수신된 프레임을 저장하려면 두 번째 루프 처리가 필요합니다. 각 루프는 수신되는 카메라 프레임과 동기화되어야 합니다. 이는 시작 조건을 충족해야 하는 SYNC 오퍼레이터를 유도합니다. 시작 조건 자체는 첫 번째 실행에서 단일 최소 프레임을 도입하는 InsertImage에 의해 처리됩니다. 사용된 SYNC는 프레임 치수를 필요한 값으로 최대화합니다.

평균 처리에는 일정 수의 프레임 저장이 필요하므로 ImageBufferMultiRoiDyn 오퍼레이터가 사용됩니다. 최소 프레임이 생성되어 동기화 목적이 충족되는 동안 첫 번째 이미지들은 간단히 저장됩니다.

VA 시뮬레이션을 사용하면 이것이 SYNC 주변에서 작동하는 방식을 자세히 이해하는 데 도움이 됩니다. 일반적으로 인공적인 최소 프레임 시퀀스가 동기화를 수행합니다.

Visualization

두 가지 시각화 방식이 구현되어 있습니다. 첫 번째 방식은 다음과 같이 24비트 RGB 이미지를 생성합니다.

  • 평면 - 콘텐츠
  • 빨간색(RED) - 현재 이미지
  • 초록색(GREEN) - 평균 이미지
  • 파란색(BLUE) - 차이 이미지

두 번째 방식은 나중에 24비트 RGB로 변환되는 HSL 색상 공간을 기반으로 합니다.

  • 평면 - 콘텐츠
  • 색상(HUE) / 색상 각도 - 차이 이미지(여기서 최솟값은 녹색)
  • 채도(SATURATION) - 최댓값으로 설정
  • 명도(LIGHTNESS) - 현재 이미지

두 번째 방식은 EffectEnable = 1을 통해 켜집니다. 모든 색상 각도(Hue)에 대한 차이 Scaling에 동적 게인(gain) 팩터를 사용할 수 있습니다.

VisualApplets Design

예제 "rollingAverage_Loop.vad"는 픽셀당 8비트에서 1024x1024 해상도의 베이스 구성(base configuration)의 흑백 CameraLink 카메라용으로 설계되었습니다.

Simulation Data

예제 "rollingAverage_Loop.vad" 폴더 %VASINSTALLDIR%\examples\Processing\Advanced\RollingAverage\street_sequence*.jpg에는 시뮬레이션에 유용한 일련의 이미지가 포함되어 있습니다. 데이터 양을 줄이기 위해 손실 압축 형식이 사용되었습니다.